package com.starsoft.smdc.bean;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 * SmdcSecurity entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "smdc_security")
@Cache(usage= CacheConcurrencyStrategy.READ_WRITE, region="ormCache")
public class SmdcSecurity implements java.io.Serializable {

	// Fields

	private String secId;
	private String ticker;
	private String secName;
	private String secFullname;
	private String secSpell;
	private String secType;
	private String exchange;
	private String listSector;
	private Date listDate;
	private Date dlistDate;
	private String listStatus;
	private Double shareTotal;
	private Double shareFloat;
	private String companyAdress;
	private String companyBusiness;
	private String industryName1;
	private String industryName2;
	private String fundCategory;
	private String fundTradetype;
	private Boolean fundIsindex;
	private String fundBaseindex;
	private String fundOpmode;
	private Date fundCloseMaturity;
	private Double fundManageFee;
	private Boolean crawleEr;
	private Boolean crawleDiv;
	private Double bondNotional;
	private Double bondCupon;
	private Date bondMaturity;
	private Integer bondIntrestpayFreq;
	private Boolean crawleValuation;
	private String fullEarningIndex;
	private String redemptionFee;
	
	// Constructors

	/** default constructor */
	public SmdcSecurity() {
	}

	/** minimal constructor */
	public SmdcSecurity(String secId) {
		this.secId = secId;
	}

	/** full constructor */
	public SmdcSecurity(String secId, String ticker, String secName, String secFullname, String secSpell,
			String secType, String exchange, String listSector, Date listDate, Date dlistDate, String listStatus,
			Double shareTotal, Double shareFloat, String companyAdress, String companyBusiness, String industryName1,
			String industryName2, String fundCategory, String fundTradetype, Boolean fundIsindex, String fundBaseindex,
			String fundOpmode, Date fundCloseMaturity, Double fundManagefee, Boolean crawleEr, Boolean crawleDiv,
			Double bondCupon, Date bondMaturity, Integer bondIntrestpayFreq, Double bondNotional,Boolean crawleValuation,
			String fullEarningIndex, String redemptionFee) {
		this.secId = secId;
		this.ticker = ticker;
		this.secName = secName;
		this.secFullname = secFullname;
		this.secSpell = secSpell;
		this.secType = secType;
		this.exchange = exchange;
		this.listSector = listSector;
		this.listDate = listDate;
		this.dlistDate = dlistDate;
		this.listStatus = listStatus;
		this.shareTotal = shareTotal;
		this.shareFloat = shareFloat;
		this.companyAdress = companyAdress;
		this.companyBusiness = companyBusiness;
		this.industryName1 = industryName1;
		this.industryName2 = industryName2;
		this.fundCategory = fundCategory;
		this.fundTradetype = fundTradetype;
		this.fundIsindex = fundIsindex;
		this.fundBaseindex = fundBaseindex;
		this.fundOpmode = fundOpmode;
		this.fundCloseMaturity = fundCloseMaturity;
		this.fundManageFee = fundManagefee;
		this.crawleEr = crawleEr;
		this.crawleDiv = crawleDiv;
		this.bondCupon = bondCupon;
		this.bondMaturity = bondMaturity;
		this.bondIntrestpayFreq = bondIntrestpayFreq;
		this.bondNotional = bondNotional;
		this.crawleValuation = crawleValuation;
		this.fullEarningIndex = fullEarningIndex;
		this.redemptionFee = redemptionFee;
	}

	// Property accessors
	@Id
	@Column(name = "sec_id", unique = true, nullable = false, length = 10)
	public String getSecId() {
		return this.secId;
	}

	public void setSecId(String secId) {
		this.secId = secId;
	}

	@Column(name = "ticker", length = 10)
	public String getTicker() {
		return this.ticker;
	}

	public void setTicker(String ticker) {
		this.ticker = ticker;
	}

	@Column(name = "sec_name", length = 30)
	public String getSecName() {
		return this.secName;
	}

	public void setSecName(String secName) {
		this.secName = secName;
	}

	@Column(name = "sec_fullname", length = 100)
	public String getSecFullname() {
		return this.secFullname;
	}

	public void setSecFullname(String secFullname) {
		this.secFullname = secFullname;
	}

	@Column(name = "sec_spell", length = 10)
	public String getSecSpell() {
		return this.secSpell;
	}

	public void setSecSpell(String secSpell) {
		this.secSpell = secSpell;
	}

	@Column(name = "sec_type", length = 10)
	public String getSecType() {
		return this.secType;
	}

	public void setSecType(String secType) {
		this.secType = secType;
	}

	@Column(name = "exchange", length = 10)
	public String getExchange() {
		return this.exchange;
	}

	public void setExchange(String exchange) {
		this.exchange = exchange;
	}

	@Column(name = "list_sector", length = 10)
	public String getListSector() {
		return this.listSector;
	}

	public void setListSector(String listSector) {
		this.listSector = listSector;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "list_Date", length = 10)
	public Date getListDate() {
		return this.listDate;
	}

	public void setListDate(Date listDate) {
		this.listDate = listDate;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "dlist_Date", length = 10)
	public Date getDlistDate() {
		return this.dlistDate;
	}

	public void setDlistDate(Date dlistDate) {
		this.dlistDate = dlistDate;
	}

	@Column(name = "list_status", length = 10)
	public String getListStatus() {
		return this.listStatus;
	}

	public void setListStatus(String listStatus) {
		this.listStatus = listStatus;
	}

	@Column(name = "share_total", precision = 22, scale = 0)
	public Double getShareTotal() {
		return this.shareTotal;
	}

	public void setShareTotal(Double shareTotal) {
		this.shareTotal = shareTotal;
	}

	@Column(name = "share_float", precision = 22, scale = 0)
	public Double getShareFloat() {
		return this.shareFloat;
	}

	public void setShareFloat(Double shareFloat) {
		this.shareFloat = shareFloat;
	}

	@Column(name = "company_adress", length = 100)
	public String getCompanyAdress() {
		return this.companyAdress;
	}

	public void setCompanyAdress(String companyAdress) {
		this.companyAdress = companyAdress;
	}

	@Column(name = "company_business", length = 65535)
	public String getCompanyBusiness() {
		return this.companyBusiness;
	}

	public void setCompanyBusiness(String companyBusiness) {
		this.companyBusiness = companyBusiness;
	}

	@Column(name = "industryName1", length = 30)
	public String getIndustryName1() {
		return this.industryName1;
	}

	public void setIndustryName1(String industryName1) {
		this.industryName1 = industryName1;
	}

	@Column(name = "industryName2", length = 30)
	public String getIndustryName2() {
		return this.industryName2;
	}

	public void setIndustryName2(String industryName2) {
		this.industryName2 = industryName2;
	}

	@Column(name = "fund_category", length = 10)
	public String getFundCategory() {
		return this.fundCategory;
	}

	public void setFundCategory(String fundCategory) {
		this.fundCategory = fundCategory;
	}

	@Column(name = "fund_tradetype", length = 10)
	public String getFundTradetype() {
		return this.fundTradetype;
	}

	public void setFundTradetype(String fundTradetype) {
		this.fundTradetype = fundTradetype;
	}

	@Column(name = "fund_isindex")
	public Boolean getFundIsindex() {
		return this.fundIsindex;
	}

	public void setFundIsindex(Boolean fundIsindex) {
		this.fundIsindex = fundIsindex;
	}

	@Column(name = "fund_baseindex", length = 10)
	public String getFundBaseindex() {
		return this.fundBaseindex;
	}

	public void setFundBaseindex(String fundBaseindex) {
		this.fundBaseindex = fundBaseindex;
	}

	@Column(name = "fund_opmode", length = 10)
	public String getFundOpmode() {
		return this.fundOpmode;
	}

	public void setFundOpmode(String fundOpmode) {
		this.fundOpmode = fundOpmode;
	}
	
	@Temporal(TemporalType.DATE)
	@Column(name = "fund_close_maturity", length = 10)
	public Date getFundCloseMaturity() {
		return fundCloseMaturity;
	}

	public void setFundCloseMaturity(Date fundCloseMaturity) {
		this.fundCloseMaturity = fundCloseMaturity;
	}
	
	@Column(name = "fund_manage_fee", precision = 22, scale = 0)
	public Double getFundManageFee() {
		return fundManageFee;
	}

	public void setFundManageFee(Double fundManagefee) {
		this.fundManageFee = fundManagefee;
	}

	@Column(name = "crawle_er")
	public Boolean getCrawleEr() {
		return this.crawleEr;
	}

	public void setCrawleEr(Boolean crawleEr) {
		this.crawleEr = crawleEr;
	}

	@Column(name = "crawle_div")
	public Boolean getCrawleDiv() {
		return this.crawleDiv;
	}

	public void setCrawleDiv(Boolean crawleDiv) {
		this.crawleDiv = crawleDiv;
	}

	@Column(name = "bond_cupon", precision = 22, scale = 0)
	public Double getBondCupon() {
		return this.bondCupon;
	}

	public void setBondCupon(Double bondCupon) {
		this.bondCupon = bondCupon;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "bond_maturity", length = 10)
	public Date getBondMaturity() {
		return this.bondMaturity;
	}

	public void setBondMaturity(Date bondMaturity) {
		this.bondMaturity = bondMaturity;
	}

	@Column(name = "bond_intrestpay_freq")
	public Integer getBondIntrestpayFreq() {
		return this.bondIntrestpayFreq;
	}

	public void setBondIntrestpayFreq(Integer bondIntrestpayFreq) {
		this.bondIntrestpayFreq = bondIntrestpayFreq;
	}

	@Column(name = "bond_notional")
	public Double getBondNotional() {
		return this.bondNotional;
	}

	public void setBondNotional(Double bondNotional) {
		this.bondNotional = bondNotional;
	}

	@Column(name = "crawle_valuation")
	public Boolean getCrawleValuation() {
		return crawleValuation;
	}

	public void setCrawleValuation(Boolean crawleValuation) {
		this.crawleValuation = crawleValuation;
	}

	@Column(name = "full_earning_index")
	public String getFullEarningIndex() {
		return fullEarningIndex;
	}

	public void setFullEarningIndex(String fullEarningIndex) {
		this.fullEarningIndex = fullEarningIndex;
	}
	
	@Column(name = "redemption_fee")
	public String getRedemptionFee() {
		return redemptionFee;
	}

	public void setRedemptionFee(String redemptionFee) {
		this.redemptionFee = redemptionFee;
	}

}